package com.shopx.cm.service;

import com.shopx.cm.bean.CmSend;
import com.shopx.cm.dto.CmSendStateDTO;
import com.shopx.cm.dto.CmStateDTO;
import com.shopx.cm.model.CmSendModel;
import com.shopx.cmm.DTO.PageDTO;
import java.util.List;
//import com.shopx.base.exception.ShopxException;

/**
 * TODO
 * @author lituo
 * @className: CmSend
 * @date 2025-01-07
 */
public interface ICmSendService {

    /**
     * 查询明细记录
     * @author lituo
     * @date 2025-01-07
     * @param cmSend
     * @return CmSendModel
     */
    CmSendModel selectByPrimaryKey(CmSend cmSend);

    /**
     * 新增记录
     * @author lituo
     * @date 2025-01-07
     * @param cmSend
     * @return int
     */
    int insertSelective(CmSend cmSend);

    /**
     * 修改记录
     * @author lituo
     * @date 2025-01-07
     * @param cmSend
     * @return int
     */
    int updateByPrimaryKeySelective(CmSendModel cmSend);

    /**
     * 删除记录
     * @author lituo
     * @date 2025-01-07
     * @param cmSend
     * @return int
     */
    int deleteByPrimaryKey(CmSend cmSend);
	

	/**
     * 查询总记录数
     * @author lituo
     * @date 2025-01-07
     * @param cmSendModel
     * @return int
     */
    int selectCount(CmSendModel cmSendModel);

    /**
     * 查询列表
     * @author lituo
     * @date 2025-01-07
     * @param cmSendModel
     * @return List<CmSendModel>
     */
    List<CmSendModel> selectList(CmSendModel cmSendModel);

    /**
     * 分页查询
     * @author lituo
     * @date 2025-01-07
     * @param cmSendModel
     * @return PageModel<CmSendModel>
     */
    PageDTO<CmSendModel> getListPage(CmSendModel cmSendModel);

    /**
     * 同步erp数据
     */
    void syncErpData();

    /**
     * 查询品牌跟单状态报表
     * @param cmSend
     * @return
     */
    List<CmSendStateDTO> selectSendStateRpt(CmSendModel cmSend);

    /**
     * 查询财务状态报表
     * @param cmSend
     * @return
     */
    List<CmStateDTO> selectFinanceStateRpt(CmSendModel cmSend);

    /**
     * 查询施工状态报表
     * @param cmSend
     * @return
     */
    List<CmStateDTO> selectBuildStateRpt(CmSendModel cmSend);
}

